身為一個 Node 後端工程師, 對我而言 async/await 等非同步語法的使用已經非常順手, 其背後所代表的概念也早就不能令我困惑。
但事實上當我面對一個高併發系統, 讀著各種高併發框架, 資料庫, 第三方服務的文件時總會感覺自己是在面對一個不可思議的造物, 我會調用那些 API , 我知道他們背後的部分原理, 但我其實對他們一無所知 , 我很想知道那些框架, 那些套件背後的故事, 所以我打算以 同步非同步 這個高併發系統必備的功能作為起點, 好好的 "探索" 那些框架或套件的底層原理。
回到主題"探索", 這30天的內容會是一段記錄。記錄我這段時間在各個語言, 框架, 東看看西看看,了解他們怎麼實現同步非同步方法的過程。
這段"探索"我相信沒辦法讓人變得比較會打程式, 但對我來說"探索"本來就不是為了得到甚麼, 只是我想看看, 所以我去看看罷了。
內容會交錯放入 基本教學, 源碼閱讀, 簡易實作 三種部份。
基本教學 ⇒ 為了幫助讀者閱讀源碼, 有些概念不懂會看不懂。
源碼閱讀 ⇒ 翻來翻去, 猜測同步非同步是如何被實踐。
簡易實作 ⇒ 利用猜出來的原理, 試著實踐一個小程式
以下條列預計會提到的內容 :